home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / ant / antenna2 / mutual.bas < prev    next >
BASIC Source File  |  1986-09-09  |  3KB  |  99 lines

  1. 10 CLS:KEY OFF
  2. 20 KEY 1,"":KEY 10,""
  3. 30   T$="MUTUAL IMPEDANCE OF BETWEEN TWO DIPOLES OF ANY LENGTH AND SEPERATION":LC=1:GOSUB 980
  4. 40 PRINT
  5. 50 '        MAY 28, 86
  6. 60 '       AHMAD FAIZAL MOHD ZAIN
  7. 70 '
  8. 80 PI=3.141592
  9. 90 GOTO 290      'MAIN PROG
  10. 100 '
  11. 110 '   SUBROUTINE TO GET SI(X) AND CI(X)
  12. 120 '
  13. 130 '    INPUT X
  14. 140 '    OUTPUT SI,CI,CIN
  15. 150 '
  16. 160 X1=X: X2=X*X: X3=X2*X: X4=X3*X: X5=X4*X: X6=X5*X: X7=X6*X
  17. 170 IF X>=1 THEN 220
  18. 180 SI=X-X3/8+X5/600-X7/35280!
  19. 190 IF X=0 THEN PRINT"CI(X) UNDEFINED FOR X=0 ":RETURN
  20. 200 CI=.5772157+LOG(X)-X2/4+X4/96-X6/4320
  21. 210 GOTO 260
  22. 220 FX=((X4+7.24116*X2+2.46394)/(X4+9.068579*X2+7.15743))/X
  23. 230 GX=((X4+7.54748*X2+1.56407)/(X4+12.72368*X2+15.72361))/X2
  24. 240 SI=PI/2-FX*COS(X)-GX*SIN(X)
  25. 250 CI=FX*SIN(X)-GX*COS(X)
  26. 260 CIN=LOG(X)+.5772157-CI
  27. 270 RETURN
  28. 280 '
  29. 290 'MAIN PROGRAM
  30. 310 LOCATE 25,1:PRINT"                         F1 =  RERUN PROGRAM     F10 = QUIT"
  31. 320 LOCATE 7,1
  32. 340 INPUT "LENGTH OF DIPOLE IN TERMS OF LAMBDA ";H
  33. 350 INPUT "SEPERATION BETWEEN DIPOLES IN TERMS OF LAMBDA ";D
  34. 352 IF D=0 AND H=.5 THEN R21=73.1296:X21=42.5445:GOTO 870
  35. 360 U0=2*PI*D
  36. 370 U1=2*PI*(SQR(D*D+H*H)-H)
  37. 380 V1=2*PI*(SQR(D*D+H*H)+H)
  38. 390 X=U0:GOSUB 110:SIU0=SI:CIU0=CI
  39. 400 X=U1:GOSUB 110:SIU1=SI:CIU1=CI
  40. 410 X=V1:GOSUB 110:SIV1=SI:CIV1=CI
  41. 420 R21=30*(2*CIU0-CIU1-CIV1)     'REAL PART OF MUTUAL IMP
  42. 430 X21=-30*(2*SIU0-SIU1-SIV1)    'IMAG PART OF MUTUAL IMP
  43. 440 GOTO 870
  44. 450 'COLLINEAR
  45. 460 INPUT"LENGTH OF DIPOLES IN TERMS OF LAMBDA ";H
  46. 470 INPUT"SEPERATION BETWEEN DIPOLES IN TERMS OF LAMBDA ";D
  47. 480 V0=2*PI*(H+D)
  48. 490 V1=4*PI*(2*H+D)
  49. 500 V2=4*PI*D
  50. 510 V3=((H+D)*(H+D)-H*H)/((H+D)*(H+D))
  51. 520 CV0=COS(V0):SV0=SIN(V0)
  52. 530 X=2*V0:GOSUB 110:SI2V0=SI:CI2V0=CI
  53. 540 X=V1:GOSUB 110:SIV1=SI:CIV1=CI
  54. 550 X=V2:GOSUB 110:SIV2=SI:CIV2=CI
  55. 560 X=V3:GOSUB 110:SIV3=SI:CIV3=CI
  56. 570 AA=-15*CV0*(-2*CI2V0+CIV2+CIV1-LOG(V3))
  57. 580 BB=15*SV0*(2*SI2V0-SIV2-SIV1)
  58. 590 R21=AA+BB
  59. 600 CC=-15*CV0*(2*SI2V0-SIV2-S1V1)
  60. 610 DD=15*SV0*(2*CI2V0-CIV2-CIV1-LOG(V3))
  61. 620 X21=CC+DD
  62. 630 GOTO 870
  63. 640 'ECHELON
  64. 650 INPUT"LENGTH OF DIPOLES IN TERMS OF LAMBDA ";H
  65. 660 INPUT"SEPERATION OF DIPOLES IN TERMS OF LAMBDA ";D
  66. 670 INPUT"HEIGHT OF SECOND DIPOLE ABOVE END OF FIRST ";L
  67. 680 W0=2*PI*L
  68. 690 W1=2*PI*(SQR(D*D+L*L)+L)
  69. 700 W11=2*PI*(SQR(D*D+L*L)-L)
  70. 710 W2=2*PI*(SQR(D*D+(L-H)*(L-H))+(L-H))
  71. 720 W22=2*PI*(SQR(D*D+(L-H)*(L-H))-(L-H))
  72. 730 W3=2*PI*(SQR(D*D+(H+L)*(H+L))+(H+L))
  73. 740 W33=2*PI*(SQR(D*D+(H+L)*(H+L))-(H+L))
  74. 745 CW0=COS(W0):SW0=SIN(W0)
  75. 750 X=W1:GOSUB 110:SIW1=SI:CIW1=CI
  76. 760 X=W11:GOSUB 110:SIW11=SI:CIW11=CI
  77. 770 X=W2:GOSUB 110:SIW2=SI:CIW2=CI
  78. 780 X=W22:GOSUB 110:SIW22=SI:CIW22=CI
  79. 790 X=W3:GOSUB 110:SIW3=SI:CIW3=CI
  80. 800 X=W33:GOSUB 110:SIW33=SI:CIW33=CI
  81. 810 AA=-15*CW0*(-2*CIW1-2*CIW11+CIW2+CIW22+CIW3+CIW33)
  82. 820 BB=15*SW0*(2*SIW1-2*SIW11-SIW2+SIW22-SIW3+SIW33)
  83. 830 CC=-15*CW0*(2*SIW1+2*SIW11-SIW2-SIW22-SIW3-SIW33)
  84. 840 DD=15*SW0*(2*CIW1-2*CIW11-CIW2+CIW22-CIW3+CIW33)
  85. 850 R21=AA+BB
  86. 860 X21=CC+DD
  87. 870 IF X21<0 THEN SIGN$=" -j" ELSE SIGN$=" +j"
  88. 880 PRINT:PRINT
  89. 890 LOCATE 12,1
  90. 900 PRINT USING "MUTUAL IMPEDANCE BETWEEN THE DIPOLES IS ###.###";R21;:PRINT SIGN$;:PRINT USING "###.###";ABS(X21)
  91. 910 A$=INKEY$
  92. 920 IF LEN(A$)<>2 THEN 910
  93. 930 ANS=ASC(MID$(A$,2,1))
  94. 940 IF ANS=59 THEN RUN
  95. 950 IF ANS=68 THEN END
  96. 960 GOTO 910
  97. 970 :
  98. 980 LOCATE LC,(80-LEN(T$))/2+1:PRINT T$:RETURN    'SUBROUTINE TO CENTRE TEXT
  99.